home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / Amos Image Manipulator 1.1.adf / autoexec.AMOS / autoexec.amosSourceCode next >
AMOS Source Code  |  1999-12-26  |  16KB  |  650 lines

  1. '++++ Welcome to The Amos Image Manipulator By Martin Donnelly 
  2. '++++  
  3. '++++ This is for those people that do not have PIX-MATE 
  4. '++++
  5. US=2321
  6. Global US
  7. PROT
  8. UI:
  9. Global MK,A,H,W,CL,F$,SCR,MEM,C,C1,C2,C3,MOM,CL$,CL1$
  10. CL$=""
  11. F$="Nothing Loaded!"
  12. MOM=Chip Free
  13. If Chip Free>250000
  14.    MEM=True
  15. Else 
  16.    MEM=False
  17. End If 
  18. STRT
  19. Procedure STRT
  20.    Close Editor 
  21.    Close Workbench 
  22.    KLEAR
  23.    SET_MENU
  24.    S:
  25.    If MEM=0 Then Menu Inactive(3,11)
  26.    If MEM=0 and MK=1 Then MEM
  27.    If MEM=0 and MK=0 Then Bell 1 : Wait 10 : Bell 1
  28.    H1$=Str$(H)
  29.    W1$=Str$(W)
  30.    CL1$=Str$(CL)
  31.    W$="Width :"+W1$
  32.    H$="hieght:"+H1$
  33.    CL$="No of cols:"+CL1$
  34.    Menu$(1,7,1)="Name of pic"
  35.    Menu$(1,7,2)=F$
  36.    Menu$(1,7,3)=W$
  37.    Menu$(1,7,4)=H$
  38.    Menu$(1,7,5)=CL$
  39.    C=0
  40.    Do 
  41.       M=Mouse Click
  42.       C=1 : C1=0 : C2=0 : C3=0
  43.       C=Choice : C1=Choice(1) : C2=Choice(2) : C3=Choice(3)
  44.       '      Print At(0,9);C,C1,C2,C3
  45.       M=Mouse Click
  46.       A$=Inkey$
  47.       If A$="l" Then LODE : Goto S
  48.       If A$="s" Then SVE : Goto S
  49.       If C and C1=1 and C2=1 Then LODE : Goto S
  50.       If C and C1=1 and C2=2 Then SVE : Goto S
  51.       If C and C1=1 and C2=9 Then QUIT : Edit 
  52.       If C and C1=1 and C2=8 and C3=1 Then MK=1
  53.       If C and C1=1 and C2=8 and C3=2 Then MK=0
  54.       '
  55.       '
  56.       If C and C1=3 and C2=1 Then SMEAR : Goto S
  57.       If C and C1=3 and C2=2 Then PIX : Goto S
  58.       If C and C1=3 and C2=3 Then EFFECTS : Goto S
  59.       If C and C1=3 and C2=4 Then CCOL
  60.       If C and C1=3 and C2=5 Then SHRINK : Goto S
  61.       If C and C1=3 and C2=6 and C3=2 Then FLIPH : Goto S
  62.       If C and C1=3 and C2=6 and C3=3 Then FLIPV : Goto S
  63.       If C and C1=3 and C2=7 and C3=1 Then KLEAR : Goto S
  64.       If C and C1=3 and C2=8 Then FUN : Goto S
  65.       If C and C1=3 and C2=9 Then DK : Goto S
  66.       If C and C1=3 and C2=10 Then SPLAT : Goto S
  67.       If C and C1=3 and C2=11 Then MTOL : Goto S
  68.       If C and C1=3 and C2=12 Then HALF : Goto S
  69.       If C and C1=3 and C2=13 Then BLACK : Goto S
  70.       '
  71.       '
  72.       If A$="b" Then BLACK : Goto S
  73.       If A$="f" Then FIND
  74.    Loop 
  75. End Proc
  76. Procedure SET_MENU
  77.    CL=Screen Colour
  78.    Ink Rnd(16)
  79.    H1$=Str$(H)
  80.    W1$=Str$(W)
  81.    CL1$=Str$(CL)
  82.    W$="Width :"+W1$
  83.    H$="hieght:"+H1$
  84.    CL$="Cols:"+CL1$
  85.    '
  86.    '
  87.    Menu$(1)="  INFO  "
  88.    Menu$(1,1)="Load a pic  "
  89.    Menu$(1,2)="Save a pic  "
  90.    Menu$(1,3)="------------" : Menu Inactive(1,3)
  91.    Menu$(1,4)="About    >> "
  92.    Menu$(1,5)="Version  >> "
  93.    Menu$(1,6)="------------" : Menu Inactive(1,6)
  94.    Menu$(1,7)="Pic info >> "
  95.    Menu$(1,8)="Mem Warning "
  96.    Menu$(1,8,1)="Warning On "
  97.    Menu$(1,8,2)="Warning Off"
  98.    Menu$(1,9)="Quit        "
  99.    '
  100.    Menu$(1,5,1)="Version 1.1"
  101.    Menu$(1,5,2)="Look out for version 2"
  102.    Menu Inactive(1,5,1)
  103.    Menu Inactive(1,5,2)
  104.    Menu$(1,4,1)="THE AMOS IMAGE MANIPULATOR"
  105.    Menu$(1,4,2)="By Martin Donnelly"
  106.    Menu$(1,4,3)="Copyright Megasoft 1991"
  107.    Menu$(1,4,4)="Hellos to Nick,Alan,John"
  108.    Menu$(1,4,5)="Veronika,Dave,Liam,and"
  109.    Menu$(1,4,6)="everyone at Lorenzos P.d. &"
  110.    Menu$(1,4,7)="Zenith P.d. and Megasoft"
  111.    '
  112.    '   Menu$(1,5,1)="HELP"
  113.    '
  114.    Menu$(1,7,1)="Name of pic"
  115.    Menu$(1,7,2)=F$
  116.    Menu$(1,7,3)=W$
  117.    Menu$(1,7,4)=H$
  118.    Menu$(1,7,5)=CL$
  119.    '
  120.    Menu Inactive(1,4,1)
  121.    Menu Inactive(1,4,2)
  122.    Menu Inactive(1,4,3)
  123.    Menu Inactive(1,4,4)
  124.    Menu Inactive(1,4,5)
  125.    Menu Inactive(1,4,6)
  126.    Menu Inactive(1,4,7)
  127.    '
  128.    Menu$(3)="  Function  "
  129.    Menu$(3,1)="Smooth         "
  130.    Menu$(3,2)="Pixilize       "
  131.    Menu$(3,3)="Inverse Cols   "
  132.    Menu$(3,4)="Change Cols >> "
  133.    Menu$(3,5)="Shrink      >> "
  134.    Menu$(3,6)="Flip        >> "
  135.    Menu$(3,7)="Clear          " : Menu$(3,7,1)="Are you sure?"
  136.    Menu$(3,8)="Shift colours  "
  137.    Menu$(3,9)="Dekay          "
  138.    Menu$(3,10)="Splatter       "
  139.    Menu$(3,12)="Half vertical  "
  140.    Menu$(3,13)="Erase points   "
  141.    '
  142.    Menu$(3,8,1)="Colours up  "
  143.    Menu$(3,8,2)="Colours Down"
  144.    '
  145.    Menu$(3,9,1)="Length of time"
  146.    Menu$(3,9,2)="Short         "
  147.    Menu$(3,9,3)="Long          "
  148.    Menu Inactive(3,9,1)
  149.    '
  150.    Menu$(3,11)="Medium to Lores"
  151.    '
  152.    Menu$(3,4,1)="Change to" : Menu Inactive(3,4,1)
  153.    Menu$(3,4,2)="Red      "
  154.    Menu$(3,4,3)="Green    "
  155.    Menu$(3,4,4)="Blue     "
  156.    Menu$(3,4,5)="White    "
  157.    '
  158.    Menu$(3,5,1)="Shrink by" : Menu Inactive(3,5,1)
  159.    Menu$(3,5,2)="Quarter  "
  160.    Menu$(3,5,3)="Eighth   "
  161.    Menu$(3,5,4)="Sixteenth"
  162.    '
  163.    Menu$(3,6,1)="Direction" : Menu Inactive(3,6,1)
  164.    Menu$(3,6,2)="Horizontaly"
  165.    Menu$(3,6,3)="Verticaly  "
  166.    Menu Movable(1)
  167.    Menu On 
  168.    Menu Tline(1)
  169.    If SCR=0 Then Menu Inactive(3)
  170.    If SCR=89 Then Menu Active(3)
  171. End Proc
  172. Procedure LODE
  173.    '  Cls 
  174.    ' Print "Please enter picture name"
  175.    F$=Fsel$("","",".A. .I. .M.","Load a picture")
  176.    If F$="" Then Goto P
  177.    Change Mouse 3
  178.    Load Iff F$,0
  179.    SCR=89
  180.    Change Mouse 1
  181.    H=Screen Height
  182.    W=Screen Width
  183.    CL=Screen Colour
  184.    H1$=Str$(H)
  185.    W1$=Str$(W)
  186.    CL1$=Str$(CL)
  187.    W$="Width :"+W1$
  188.    H$="hieght:"+H1$
  189.    CL$="No of cols:"+CL1$
  190.    C=0
  191.    P:
  192.    C=0 : C1=0
  193.    SET_MENU
  194.    Menu On 
  195. End Proc
  196. Procedure SMEAR
  197.    If SCR=0 Then ERR
  198.    Change Mouse 3
  199.    Screen 0
  200.    For Y=0 To H
  201.       For X=0 To W
  202.          M=Mouse Click
  203.          If M=1 Then Goto A
  204.          F=Point(X,Y) : F1=Point(X+1,Y)
  205.          D=F+F1
  206.          D=D/2 : If D<0 Then D=0
  207.          Ink D
  208.          Plot X,Y
  209.       Next 
  210.    Next 
  211.    A:
  212.    Change Mouse 1
  213. End Proc
  214. Procedure PIX
  215.    If SCR=0 Then ERR
  216.    If SCR<89 Then Goto S
  217.    Change Mouse 3
  218.    For Y=0 To H Step 8
  219.       For X=0 To W Step 8
  220.          M=Mouse Click
  221.          If M=1 Then Goto A
  222.          C=0 : D=0 : U=4 : E=4
  223.          'For E=1 To 8
  224.          '  For U=1 To 8
  225.          M=Mouse Click : If M=1 Then Change Mouse 1 : Goto S
  226.          C=Point(X+U,Y+E)
  227.          'D=D+C 
  228.          ' Next 
  229.          'Next  
  230.          'C=D/64 : Ink C
  231.          Ink C
  232.          Bar X,Y To X+8,Y+8
  233.       Next 
  234.    Next 
  235.    Change Mouse 1
  236. End Proc
  237. Procedure SHRINK
  238.    If SCR=0 Then ERR
  239.    If C3=2 Then F=160 : W1=W/2 : H1=H/2
  240.    If C3=3 Then F=60 : W1=W/4 : H1=H/4
  241.    If C3=4 Then F=30 : W1=W/8 : H1=H/8
  242.    Change Mouse 3
  243.    Zoom 0,0,0,W,H To 0,0,0,W1,H1
  244.    Ink 0
  245.    Bar 0,H1 To W,H
  246.    Bar W1,0 To W,H
  247.    Change Mouse 1
  248. End Proc
  249. Procedure SET
  250.    Paper 0
  251.    Ink 1,3
  252.    Screen 0
  253.    Box 8,2 To 43,12 : 
  254.    Ink 3 : Paint 9,3
  255.    Ink 1
  256.    Text 10,10,"LOAD"
  257.    Text 47,10,"SAVE"
  258.    Box 45,2 To 79,12
  259.    Ink 3 : Paint 46,3
  260.    Ink 1,3
  261.    Text 83,10,"SMEAR"
  262.    Box 81,2 To 124,12
  263.    Ink 3 : Paint 82,3 : Ink 1
  264.    Text 83,23,"FUN"
  265.    Box 81,15 To 107,25
  266.    Ink 3 : Paint 82,16 : Ink 1
  267.    Text 112,23,"FLIP V"
  268.    Box 110,15 To 160,25
  269.    Ink 3 : Paint 111,16 : Ink 1
  270.    Text 165,23,"FLIP H"
  271.    Box 163,15 To 213,25
  272.    Ink 3 : Paint 164,16 : Ink 1
  273.    Text 128,10,"PIX"
  274.    Box 126,2 To 153,12
  275.    Ink 3 : Paint 127,3 : Ink 1
  276.    Text 157,10,"SHRINK"
  277.    Box 155,2 To 205,12
  278.    Ink 3 : Paint 156,3 : Ink 1
  279.    Text 208,10,"INVRT"
  280.    Box 207,2 To 248,12
  281.    Ink 3 : Paint 208,3 : Ink 1
  282.    Text 252,10,"QUIT"
  283.    Box 250,2 To 286,12
  284.    Ink 3 : Paint 251,3 : Ink 1
  285.    Text 252,23,"A"
  286.    Box 250,15 To 262,25
  287.    Text 266,23,"H"
  288.    Box 264,15 To 274,25
  289.    Ink 3 : Paint 265,16 : Paint 251,16
  290. End Proc
  291. Procedure EFFECTS
  292.    If SCR=0 Then ERR
  293.    If SCR<89 Then Goto S
  294.    Change Mouse 3
  295.    W=Screen Width
  296.    H=Screen Height
  297.    Screen Copy 0,0,0,W,H To 0,0,0,49
  298.    Change Mouse 1
  299. End Proc
  300. Procedure ERR
  301.    Bell 1
  302.    Palette $FF
  303.    Wait 20
  304.    Bell 10
  305.    Palette 0
  306.    Change Mouse 1
  307.    SCR=0
  308.    Goto S
  309. End Proc
  310. Procedure FUN
  311.    If SCR=0 Then ERR
  312.    If SCR<89 Then Goto S
  313.    Change Mouse 3
  314.    RD=Rnd(5)
  315.    For Y=0 To H
  316.       For X=0 To W
  317.          M=Mouse Click
  318.          If M=1 Then Goto A
  319.          C=Point(X,Y)
  320.          If C3=1 Then D=C+1
  321.          If C3=2 Then D=C-1
  322.          If D>SCR Then D=SCR
  323.          If S<0 Then D=0
  324.          Ink D
  325.          Plot X,Y
  326.       Next 
  327.    Next 
  328.    Change Mouse 1
  329. End Proc
  330. Procedure QUIT
  331.    Flash Off 
  332.    If CL=4 Then Fade 10
  333.    If CL=16 Then Shift Down 4,0,15,1
  334.    If CL=32 Then Shift Up 1,0,31,1
  335.    Shift Off 
  336.    Wait 50
  337.    Fade 3 : Wait 45
  338.    Screen Close 0
  339. End Proc
  340. Procedure SVE
  341.    If F$="Nothing Loaded!" Then Goto A
  342.    F$=Fsel$("","","SAVE A PICTURE")
  343.    If F$="" Then Goto R
  344.    Change Mouse 3
  345.    Save Iff F$,1
  346.    Change Mouse 1
  347.    R:
  348. End Proc
  349. Procedure CCOL
  350.    If C3=2 and CL=16 Then Palette 0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00 : Goto L
  351.    If C3=2 and CL=32 Then Palette 0,0,$100,$100,$200,$200,$300,$300,$400,$400,$500,$500,$600,$600,$700,$700,$800,$800,$900,$900,$A00,$A00,$B00,$B00,$C00,$C00,$D00,$D00,$E00,$E00,$F00,$F00 : Goto L
  352.    If C3=3 and CL=16 Then Palette 0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0 : Goto L
  353.    If C3=3 and CL=32 Then Palette 0,0,$10,$10,$20,$20,$30,$30,$40,$40,$50,$50,$60,$60,$70,$70,$80,$80,$90,$90,$A0,$A0,$B0,$B0,$C0,$C0,$D0,$D0,$E0,$E0,$F0,$F0 : Goto L
  354.    If C3=4 and CL=16 Then Palette 0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F : Goto L
  355.    If C3=4 and CL=32 Then Palette 0,0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7,$8,$8,$9,$9,$A,$A,$B,$B,$C,$C,$D,$D,$E,$E,$F,$F : Goto L
  356.    L:
  357. End Proc
  358. Procedure MTOL
  359.    If MEM=False Then ER : Goto G
  360.    Screen Open 1,320,250,CL,Lowres
  361.    Screen 1 : Cls 0
  362.    Screen To Front 1
  363.    If SCR=0 Then ERR
  364.    Screen 0
  365.    O=0
  366.    For Y=0 To H
  367.       O=0
  368.       For X=0 To W Step 2
  369.          O=O+1
  370.          M=Mouse Click
  371.          If M=1 Then Goto G
  372.          F=Point(X,Y)
  373.          Ink F
  374.          Screen 1
  375.          Plot O,Y
  376.          Screen 0
  377.       Next 
  378.    Next 
  379.    Ink 0
  380.    Fade 3 To 0
  381.    Screen Close 0
  382.    Screen Copy 1 To 0
  383.    Screen Close 1
  384.    G:
  385. End Proc
  386. Procedure FLIPV
  387.    Screen Open 1,W,55,32,Lowres
  388.    Screen To Front 0
  389.    Cls 0
  390.    Fade 1 To 0
  391.    Change Mouse 3
  392.    If SCR=0 Then ERR
  393.    For Y=0 To H/2-1
  394.       Screen 0
  395.       J=H-Y
  396.       Screen Copy 0,0,Y,W,Y+1 To 1,0,10
  397.       Screen Copy 0,0,J,W,J+1 To 0,0,Y
  398.       Screen 1
  399.       Screen Copy 1,0,10,W,11 To 0,0,J
  400.    Next 
  401.    Change Mouse 1
  402.    Screen Close 1
  403. End Proc
  404. Procedure FLIPH
  405.    If SCR=0 Then ERR
  406.    Change Mouse 3
  407.    Screen Open 1,20,H,CL,Lowres
  408. Screen To Front 0
  409.    Fade 3 To 0
  410.    For Y=0 To W/2-1
  411.       Screen 0
  412.       J=W-Y
  413.       If J<Y Then J=H/2+1
  414.       Screen Copy 0,Y,0,Y+1,H To 1,2,0
  415.       Screen Copy 0,J,0,J+1,H To 1,5,0
  416.       Screen 1
  417.       Screen Copy 1,2,0,3,H To 0,J,0
  418.       Screen Copy 1,5,0,6,H To 0,Y,0
  419.    Next 
  420.    Change Mouse 1
  421. End Proc
  422. Procedure DK
  423.    If SCR=0 Then ERR
  424.    Change Mouse 3
  425.    If C3=2 Then O=8000
  426.    If C3=3 Then O=649900
  427.    Randomize(Timer)
  428.    For T=1 To O
  429.       M=Mouse Click : If M=1 Then Goto A : 
  430.       X=Rnd(320) : Y=Rnd(250)
  431.       F=Point(X,Y) : F1=Point(X,Y+1) : F2=Point(X,Y+2)
  432.       Ink F
  433.       Plot X,Y+1 : Ink F1 : Plot X,Y+2 : Ink F2 : Plot X,Y+3
  434.    Next 
  435.    Change Mouse 1
  436. End Proc
  437. Procedure SPLAT
  438.    If SCR=0 Then ERR
  439.    Change Mouse 3
  440.    Randomize(Timer)
  441.    For T=1 To 8000
  442.       M=Mouse Click : If M=1 Then Goto A : 
  443.       X=Rnd(320) : Y=Rnd(250)
  444.       F=Point(X,Y) : F1=Point(X,Y+1) : F2=Point(X,Y+2)
  445.       Ink F
  446.       Plot X,Y+1 : Ink F1 : Rem Plot X,Y+2 : Ink F2 : Plot X,Y+3 
  447.       Plot X,Y-1 : Plot X,Y-2 : Plot X,Y+2
  448.       Plot X-2,Y : Plot X-1,Y : Plot X+1,Y : Plot X+2,Y
  449.    Next 
  450.    Change Mouse 1
  451. End Proc
  452. Procedure KLEAR
  453.    Screen Open 0,320,90,4,Lowres
  454.    Cls 0
  455.    Paper 0
  456.    Palette $44,$F,$0
  457.    Curs Off 
  458.    RESET
  459.    F$="Nothing Loaded!"
  460. End Proc
  461. Procedure CUSTOM
  462.    Do 
  463.       X=X Mouse
  464.       Y=Y Mouse
  465.       C=(X+Y)*10
  466.       '     'U=(X*Y)-C   
  467.       Palette C,X,Y,U
  468.       M=Mouse Click
  469.       If M=1 Then Goto O
  470.       Wait Vbl 
  471.    Loop 
  472.    O:
  473. End Proc
  474. Procedure ABOUT
  475.    Hide 
  476.    Cls 0 : Home 
  477.    Print "Amos"
  478.    Print "Image "
  479.    Print "Manipulation"
  480.    Print 
  481.    Print "By"
  482.    Print "Martin "
  483.    Print "Donnelly"
  484.    Wait 60
  485.    Cls : Home 
  486.    Print "Hi to Nick, Alan, John, Ronnie, Dave, Liam"
  487.    Print "Every one connected with Megasoft and Zenith P.d."
  488.    Print "Lorrie at Lorenzos Domain. Every on connected with ?"
  489.    Wait 120
  490.    Cls : Home 
  491.    Print "Need any help, click on the H"
  492.    Print 
  493.    Print 
  494.    Print "A.I.M. Copyright M.Donnelly and Megasoft 1991"
  495.    Wait 60
  496.    Show 
  497. End Proc
  498. Procedure HELP
  499.    Cls 0 : Home 
  500.    Print "Help Screen"
  501.    Print "this for those people that do not have PIX-MATE"
  502.    Print 
  503.    Print "Click on icon to use that function "
  504.    Print "here are a list of key presses "
  505.    Print 
  506.    Wait 170
  507.    Print "l for load | x for save | s for shrink "
  508.    Print "5 for smear | i for Invert | F for fun "
  509.    Print " v to flip the screen verticaly "
  510.    Print " h to flip it horizontaly "
  511.    Wait 170
  512.    Print " c to change colour | d for dekay | k to klear the gfx screen "
  513.    Print " p to pixilize the screen   "
  514.    Print " * to change menu bar cols"
  515.    Print " m for Mres to lores : 1meg machines only"
  516.    Print "Control C = exit"
  517.    Print "Warning! There is no OK? on the quit icon"
  518.    Wait 200
  519. End Proc
  520. Procedure ER
  521.    Cls 0 : Home 
  522.    For T=1 To 10
  523.       Print "Not enough memory!!!!!!!"
  524.    Next 
  525.    Wait 100
  526. End Proc
  527. Procedure BLACK
  528.    Menu Off 
  529.    Change Mouse 2
  530.    Screen Open 1,320,50,CL,Lowres
  531.    Flash Off 
  532.    Fade 3 To 0
  533.    Wait 30
  534.    Cls 0 : Paper 0 : Print At(7,0);"Black out the background"
  535.    Print At(7,1);"Use 'm' to magnify the box"
  536.    For T=0 To CL-1
  537.       Paper T
  538.       Print At(T+4,4);" "
  539.    Next 
  540.    Z=0
  541.    Do 
  542.       Screen 0
  543.       X=X Mouse-128 : Y=Y Mouse-42
  544.       A$=Inkey$
  545.       If A$="" Then Zoom 0,X-10,Y-10,X+10,Y+10 To 1,10,0,50,40
  546.       If A$="m" Then Zoom 0,X-5,Y-5,X+5,Y+5 To 1,10,0,50,40
  547.       If A$="," Then F=F-1 : Z=Z-1
  548.       If F=<0 Then F=0 : If Z<0 Then Z=0
  549.       ARRA
  550.       X1=X Mouse-128 : Y1=Y Mouse-42
  551.       M=Mouse Click
  552.       K=Mouse Key
  553.       Ink 0
  554.       If K=1 Then Plot X,Y
  555.       If K=1 Then Draw X,Y To X1,Y1
  556.       If M=2 Then Goto H
  557.    Loop 
  558.    H:
  559.    Change Mouse 1
  560.    Screen Close 1
  561.    Menu On 
  562. End Proc
  563. Procedure HALF
  564.    H1=H/2
  565.    O=-1
  566.    Change Mouse 3
  567.    Zoom 0,0,0,W,H To 0,0,0,W,H1
  568.    Change Mouse 1
  569.    Ink 0
  570.    Bar 0,H1 To W,H
  571. End Proc
  572. Procedure BLOW
  573.    Randomize(Timer)
  574.    Change Mouse 3
  575.    For T=1 To 8000
  576.       M=Mouse Click
  577.       If M=1 Then Goto A
  578.       X=Rnd(W)
  579.       Y=Rnd(H)
  580.       F=Point(X,Y)
  581.       G=Rnd(5)
  582.       For D=1 To 5
  583.          M=Mouse Click
  584.          If M=1 Then Goto A
  585.          Ink F
  586.          Circle X,Y,D
  587.       Next 
  588.    Next 
  589. End Proc
  590. Procedure ARRA
  591.    Screen 1
  592.    Ink 0
  593.    Draw 50,45 To 320,45
  594.    If F=<0 Then F=0 : If Z<0 Then Z=0
  595.    Ink 3
  596.    Draw 50+(8*Z),45 To 50+8+(8*Z),45
  597.    H=Rnd(CL)
  598.    Ink H
  599.    Box 25,20 To 35,22
  600.    Box 29,15 To 31,27
  601.    Screen 0
  602. End Proc
  603. Procedure RESET
  604.    A=0 : H=0 : W=0 : F$="" : SCR=0 : C=0 : C1=0 : C2=0 : C3=0 : CL$="" : CL1$=""
  605. End Proc
  606. Procedure PROT
  607.    If Exist("read.me") Then Goto UI
  608.    MESS
  609. End Proc
  610. Procedure MESS
  611.    Screen Open 0,640,250,4,Hires
  612.    Paper 0 : Pen 1 : Curs Off : Hide : Cls 0
  613.    Palette ,0
  614.    Print "You are using an illigal copy of A.I.M."
  615.    Print 
  616.    Print "This copy will 'NOT' work!"
  617.    Print 
  618.    Print "For your legal copy please send ï¿½3.00 to this address"
  619.    Print 
  620.    Centre "Megasoft Programing" : Print 
  621.    Centre "C/o Martin Donnelly" : Print 
  622.    Centre "15 Round Riding Road" : Print 
  623.    Centre "Dumbarton" : Print 
  624.    Centre "Scotland" : Print 
  625.    Centre "G82 2HB" : Print 
  626.    Print 
  627.    Print 
  628.    Print "Please also include a disk, and this number >> >> ";US;" << <<"
  629.    Print 
  630.    Print "I am afraid that if you do not use this number we can not give you a copy"
  631.    Print 
  632.    Print "Press any key!"
  633.    Fade 3,,$DDD : Wait 60
  634.    Do 
  635.       A$=Inkey$
  636.       If A$<>"" Then Edit 
  637.    Loop 
  638. End Proc
  639. Procedure FIND
  640.    Screen Copy 0,200,100,250,150 To 0,50,50
  641. End Proc
  642. Procedure MEM
  643. Screen Open 1,640,50,2,Hires
  644. Wind Open 3,50,0,60,6,2
  645. Print "     Warning You have less than half a meg of memory"
  646. Print At(12,2);"Memory available is";Chip Free;" bytes"
  647. Curs Off 
  648. Wait 200
  649. Screen Close 1
  650. End Proc